Trabajo Final - Instrumentos de análisis de datos II

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(lubridate)
library(ggmap)
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
## ℹ Google's Terms of Service: <https://mapsplatform.google.com>
## ℹ Please cite ggmap if you use it! Use `citation("ggmap")` for details.
library(sf)
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
library(ggplot2)
library(leaflet)
library(hrbrthemes)
## NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
##       Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
##       if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow
library(gganimate)
## No renderer backend detected. gganimate will default to writing frames to separate files
## Consider installing:
## - the `gifski` package for gif output
## - the `av` package for video output
## and restarting the R session
library(ggExtra)
library(viridis)
## Loading required package: viridisLite
library(dygraphs)

La nueva normalidad? Afecto de la pandemia la frecuencia de la siniestrialidad vial y su distrubición espacial en París.

Este estudio analizará la variación en cuanto a cantidad y distribución espacial de los accidentes de tránsito en la ciudad de Paris entre los años 2017 y 2022 de tal manera a explorar las variaciones entre el antes y después de la pandemia de la COVID-19. El alcance de este estudio consiste en un análisis descriptivo por lo que no pretende asignar relación de causalidad entre la pandemia y los eventos posteriores a la misma.

La pandemia de la COVID 19 supuso la imposición de medidas de restricción en cuanto a la movilidad de las personas y el cese de las actividades económicas y recreativas en casi todas las ciudades del mundo. Estas medidas de aislamiento, cuya duración variaba de acuerdo al país y a las características de las personas,suponían menos viajes por lo que este análisis explora la variación espacial y temporal de los diferentes tipos de accidentes viales registrados en París, antes, durante y luego de la pandemia.

Para ello se utilizan dos bases de datos: una base de datos de los registros de accidentes viales en la ciudad de Paris entre los años 2017 y 2022; y una base de datos espacial con datos de los distritos de la ciudad.

Importamos la base de datos de accidentes viales y la exploramos:

accidentes_Paris <- read.csv2("accidentologie0.csv", sep = ";",  header =TRUE)
dim(accidentes_Paris)
## [1] 35760    25
summary(accidentes_Paris)
##     IdUsager             Date                 PV        Arrondissement 
##  Min.   :   134052   Length:35760       Min.   :    1   Min.   :75101  
##  1st Qu.:  1038634   Class :character   1st Qu.: 3051   1st Qu.:75109  
##  Median :  2386958   Mode  :character   Median : 6021   Median :75114  
##  Mean   : 63508519                      Mean   : 6100   Mean   :75113  
##  3rd Qu.:181209442                      3rd Qu.: 9025   3rd Qu.:75117  
##  Max.   :202593444                      Max.   :14251   Max.   :75120  
##                                                                        
##      Mode            Catégorie           Gravité              Age           
##  Length:35760       Length:35760       Length:35760       Length:35760      
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##     Genre              Milieu            Adresse          Arrondissement.1  
##  Length:35760       Length:35760       Length:35760       Length:35760      
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##   Longitude           Latitude          Id.accident       PIM.BD.PERIPHERIQUE
##  Length:35760       Length:35760       Min.   :   58813   Length:35760       
##  Class :character   Class :character   1st Qu.:  447634   Class :character   
##  Mode  :character   Mode  :character   Median :  836398   Mode  :character   
##                                        Mean   :21598682                      
##                                        3rd Qu.:63440812                      
##                                        Max.   :66554952                      
##                                                                              
##  Tranche.d.age            BL             BH             Tué       
##  Length:35760       Min.   :1      Min.   :1       Min.   :1      
##  Class :character   1st Qu.:1      1st Qu.:1       1st Qu.:1      
##  Mode  :character   Median :1      Median :1       Median :1      
##                     Mean   :1      Mean   :1       Mean   :1      
##                     3rd Qu.:1      3rd Qu.:1       3rd Qu.:1      
##                     Max.   :1      Max.   :1       Max.   :1      
##                     NA's   :2711   NA's   :33271   NA's   :35538  
##     Résumé          Coordonnées            Iris               Irisco         
##  Length:35760       Length:35760       Length:35760       Min.   :751010101  
##  Class :character   Class :character   Class :character   1st Qu.:751093601  
##  Mode  :character   Mode  :character   Mode  :character   Median :751145308  
##                                                           Mean   :752108313  
##                                                           3rd Qu.:751176606  
##                                                           Max.   :940800401  
##                                                                              
##     Irisfo         
##  Length:35760      
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 
str(accidentes_Paris)
## 'data.frame':    35760 obs. of  25 variables:
##  $ IdUsager           : int  1013910 1014098 1014109 1014780 1015343 1015382 1016256 1016920 1016958 1017433 ...
##  $ Date               : chr  "2022-08-12" "2022-09-25" "2022-09-29" "2022-05-16" ...
##  $ PV                 : int  10825 8519 8629 4333 2911 2925 1645 427 417 6595 ...
##  $ Arrondissement     : int  75108 75109 75118 75117 75103 75113 75119 75114 75110 75118 ...
##  $ Mode               : chr  "Vélo" "2 Roues Motorisées" "Piéton" "4 Roues" ...
##  $ Catégorie          : chr  "Conducteur" "Conducteur" "Piéton" "Conducteur" ...
##  $ Gravité            : chr  "Blessé léger" "Blessé léger" "Blessé léger" "Blessé léger" ...
##  $ Age                : chr  "29.0" "32.0" "5.0" "20.0" ...
##  $ Genre              : chr  "Feminin" "Masculin" "Feminin" "Masculin" ...
##  $ Milieu             : chr  "En-Agg" "En-Agg" "En-Agg" "En-Agg" ...
##  $ Adresse            : chr  "AVENUE DES CHAMPS ELYSEES" "RUE DE MONTHOLON" "RUE RIQUET" "BD PERIPHERIQUE EXTERIEUR" ...
##  $ Arrondissement.1   : chr  "Paris 8e Arrondissement" "Paris 9e Arrondissement" "Paris 18e Arrondissement" "Paris 17e Arrondissement" ...
##  $ Longitude          : chr  "2.302591" "2.346716" "2.368117" "2.2827033698558807" ...
##  $ Latitude           : chr  "48.871373" "48.876603" "48.889702" "48.88191472371332" ...
##  $ Id.accident        : int  436888 436964 436969 437259 437515 437531 437912 438203 438220 438428 ...
##  $ PIM.BD.PERIPHERIQUE: chr  "Paris Intra Muros" "Paris Intra Muros" "Paris Intra Muros" "BD PERIPHERIQUE" ...
##  $ Tranche.d.age      : chr  "25-34 ans" "25-34 ans" "0-13 ans" "18-24 ans" ...
##  $ BL                 : int  1 1 1 1 1 1 1 1 NA NA ...
##  $ BH                 : int  NA NA NA NA NA NA NA NA NA 1 ...
##  $ Tué                : int  NA NA NA NA NA NA NA NA 1 NA ...
##  $ Résumé             : chr  "Accident Léger non mortel, En agglomération, En T, Plein jour, avec une météo Normale et une surface chaussée :"| __truncated__ "Accident Léger non mortel, En agglomération, En Y, Plein jour, avec une météo Normale et une surface chaussée :"| __truncated__ "Accident Léger non mortel, En agglomération, En X, Plein jour, avec une météo Normale et une surface chaussée :"| __truncated__ "Accident Léger non mortel, En agglomération, Hors intersection, Nuit avec éclairage public  allumé, avec une mé"| __truncated__ ...
##  $ Coordonnées        : chr  "48.871373, 2.302591" "48.876603, 2.346716" "48.889702, 2.368117" "48.88191472371332, 2.2827033698558807" ...
##  $ Iris               : chr  "Champs Élysées 6" "Rochechouart 1" "Chapelle 1" "Ternes 5" ...
##  $ Irisco             : int  751082906 751093601 751187201 751176505 751031002 751135032 751197520 751145607 751103712 751186929 ...
##  $ Irisfo             : chr  "{\"coordinates\": [[[[2.295032069, 48.873773176], [2.295078506, 48.873767154], [2.295831483, 48.873536857], [2."| __truncated__ "{\"coordinates\": [[[[2.345313621, 48.878770358], [2.345964495, 48.878623727], [2.346846497, 48.877877599], [2."| __truncated__ "{\"coordinates\": [[[[2.364713572, 48.884366186], [2.364448809, 48.884383666], [2.364278276, 48.884389956], [2."| __truncated__ "{\"coordinates\": [[[[2.28110801, 48.883040805], [2.284538198, 48.885574096], [2.284459572, 48.885639277], [2.2"| __truncated__ ...
names(accidentes_Paris)
##  [1] "IdUsager"            "Date"                "PV"                 
##  [4] "Arrondissement"      "Mode"                "Catégorie"          
##  [7] "Gravité"             "Age"                 "Genre"              
## [10] "Milieu"              "Adresse"             "Arrondissement.1"   
## [13] "Longitude"           "Latitude"            "Id.accident"        
## [16] "PIM.BD.PERIPHERIQUE" "Tranche.d.age"       "BL"                 
## [19] "BH"                  "Tué"                 "Résumé"             
## [22] "Coordonnées"         "Iris"                "Irisco"             
## [25] "Irisfo"

La base de datos contiene 35760 observaciones y 25 variables, y consiste en el registro de datos de accidentes viales en la ciudad de Paris, en el cual se tienen los datos sobre el tipo de accidente, la fecha, tipo de accidente, tipo de víctima y sus características, las coordenadas y el distrito.

Para explorar la temporalidad de los accidentes, se necesita revisar los datos de correspondiente a la fecha y realizar modificaciones en caso de ser necesario.

class(accidentes_Paris$Date)
## [1] "character"

Como la fecha consiste en una variable característica, esta deberá ser transformada de tal manera a permitir la extracción de los datos por año, mes y día. Para ello, modicamos la tipología de la variable y luego creamos nuevas variables que reflejen el año, mes y tipo de día.

accidentes_Paris<- accidentes_Paris %>%
  mutate(Date=ymd(Date))

Modificamos la base de datos, creando variables de fecha - tales como año, mes y día- y cambiamos algunos de los nombres para mejor aplicación de la base en los próximos pasos:

accidentes_Paris2 <- accidentes_Paris %>%
  mutate(month=month(Date, label=TRUE),
         year=year(Date),
         type_day=wday(Date, label=TRUE, abbr=FALSE),
         day=day(Date)) %>% 
  rename(District = Arrondissement,
         Type_victmim = Catégorie, 
         Severity = Gravité,
         Name_district= Arrondissement.1,
         Age_range= Tranche.d.age,
         GeoCoordinates =Coordonnées) %>% 
  select(-c(BL,BH,Tué, )) %>% 
  mutate(Longitude=as.numeric(Longitude),
         Latitude= as.numeric(Latitude)) %>% 
  filter(Mode!="Autres")

Utilizamos gráficos para conocer mejor el comportamiento de los datos:

ggplot(accidentes_Paris2) + 
    geom_bar(aes(x = year))+
  labs(title="Cantidad de accidentes de tráfico por año",
       subtitle="Paris 2017-2022",
       x="Año",
       y="Cantidad")+
  theme_ipsum()

ggplot(accidentes_Paris2) + 
    geom_bar(aes(x =year, fill=Mode))+
  labs(title="Cantidad de accidentes de tráfico por año y por género",
       subtitle="Paris 2017-2022",
       fill="Tipo",
       x="Año",
       y="Cantidad")+
  facet_wrap(~Genre)+
  theme_ipsum()

Este grafico clarametne muestra las diferencias en cuanto género, de los accidentes occurridos en cada año y por género. En todos los años registrados se observa una mayor ocurrrencia de accidentes para el género masculino. Esta diferencia está asociada a que el sexo masculino, en promedio, realiza mayor cantidad de viajes y más largos. Así mismo, está asociado a diferentes patrones de comportanmiento cuando utiliza ciertos modos, tales como el vehiculo privado, y es el género que mayor utiliza la bicicleta como medio de transporte. Los gráficos demuestran, también, que los niveles de accidentes de tránsito no han vuelto al mismo nivel en comparación a los números pre pandemia.

ggplot(accidentes_Paris2) + 
    geom_bar(aes(x = year, fill= Type_victmim))+
  labs(title="Cantidad de accidentes de tráfico por día de la semana",
       subtitle="Paris 2017-2022",
       fill="Tipo de victima",
       x="Día de la semana",
       y="Cantidad")+
  facet_wrap(~type_day)+
  theme_minimal()

Esta grafica nos permite observar que las víctimas más frecuentes de los accidentes son los conductores.

ggplot(accidentes_Paris2) + 
    geom_bar(aes(x = month, fill= Mode))+
  labs(title="Cantidad de accidentes de tráfico por mes",
       subtitle="Paris 2017-2022",
       fill="Tipo",
       x="Mes del año",
       y="Cantidad")+
  theme_minimal()

En la distribución de los accidentes por mes del año, se observa que los meses de junio y septiembre registran la mayor cantidad de accidentes y el mes de agosto registra la menor cantidad. Esto podría estar relacionado al nivel de actividades realizadas en la ciudad, siendo agosto el mes tipicamente dedicado a las vaciones de verano por lo que se suele observar un gran exodo de las personas a zonas veraniegas. Asi mismo, junio y septiempbre coinciden con periodos de cierre y reinicio de acitividades, donde la reactivación propia de las actividades económicas están asociadas con mayores viajes urbanos.

ggplot(accidentes_Paris2) + 
    geom_bar(aes(x = year, fill=Genre))+
  labs(title="Cantidad de accidentes de tráfico por año",
       subtitle="Accidentes por tipo",
       fill="Género",
       x="Año",
       y="Cantidad")+
   facet_wrap(~Mode)+
  theme_ipsum()

La distribución anual de los accidentes por tipo de movilidad/vehículo, nos muestra que la mayor cantidad de accidentes suceden entre vehículos de dos ruedas y la menor cantidad en vehículos motorizados individuales.

ggplot(accidentes_Paris2  %>%
         filter(year(Date)==2020) %>% 
         group_by(Date, Mode) %>%
         summarise(Cantidad=n())) + 
    geom_line(aes(x = Date, y = Cantidad, color=Mode, group=Mode))+
    geom_vline(aes(xintercept=ymd("2020-03-17")), color="red", linewidth=1)+
    geom_text(aes(x = ymd("2020-03-20"), y =15, label = "Lockdown", angle=90))+
  labs(title="EVOLUCIÓN DE ACCIDENTES DE TRANSITO",
       subtitle="Paris. 2020",
       caption="Elaboración propia en base a datos de OpenData Paris",
       color="TIPO",
       x="",
       y="")+
  scale_color_viridis_d(direction=-1)+
  scale_x_date(date_breaks = "2 month")+
  theme_minimal()+
  theme(legend.position="top",
        legend.justification = "left",
        title=element_text(size=10, face = "bold"),
        legend.title=element_text(size=10, face = "bold"),
        axis.text.x = element_text(size = 6, angle = 90))
## `summarise()` has grouped output by 'Date'. You can override using the
## `.groups` argument.

Si observamos el comportamiento de los datos, podemos observar que la introducción de los medidas de aislamiento está asociada a un fuerte caída puntual de los niveles de accidentalidad. Cabe mencionar que el régimen de aislamiento en Francia tomó lugar el 17 de marzo de 2020.

Para analizar la distribución espacial de los accidentes, nos apoyamos en la base de datos de los distritos:

distritos_Paris <- st_read("arrondissements/arrondissements.shp",
                        stringsAsFactors = TRUE)
## Reading layer `arrondissements' from data source 
##   `/Users/anateresavargasfrutos/Documents/MEU/2023 /Segundo trimestre/Instrumento de Analisis II/Trabajos/Trabajos Practicos/arrondissements/arrondissements.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 20 features and 8 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 2.224078 ymin: 48.81558 xmax: 2.469761 ymax: 48.90216
## Geodetic CRS:  WGS 84

Continuamos explorando la base de datos de Distritos:

summary(distritos_Paris)
##       n_sq_ar        c_ar      c_arinsee          l_ar   
##  750000001: 1   1      : 1   75101  : 1   10ème Ardt: 1  
##  750000002: 1   10     : 1   75102  : 1   11ème Ardt: 1  
##  750000003: 1   11     : 1   75103  : 1   12ème Ardt: 1  
##  750000004: 1   12     : 1   75104  : 1   13ème Ardt: 1  
##  750000005: 1   13     : 1   75105  : 1   14ème Ardt: 1  
##  750000006: 1   14     : 1   75106  : 1   15ème Ardt: 1  
##  (Other)  :14   (Other):14   (Other):14   (Other)   :14  
##                 l_aroff        n_sq_co      surface           perimetre    
##  Batignolles-Monceau: 1   750001537:20   Min.   :  991154   Min.   : 4519  
##  Bourse             : 1                  1st Qu.: 2172001   1st Qu.: 6413  
##  Buttes-Chaumont    : 1                  Median : 3985047   Median : 8191  
##  Buttes-Montmartre  : 1                  Mean   : 5268639   Mean   : 9522  
##  Élysée             : 1                  3rd Qu.: 6195201   3rd Qu.:10895  
##  Entrepôt           : 1                  Max.   :16372542   Max.   :24090  
##  (Other)            :14                                                    
##           geometry 
##  POLYGON      :20  
##  epsg:4326    : 0  
##  +proj=long...: 0  
##                    
##                    
##                    
## 
dim(distritos_Paris)
## [1] 20  9

Esta base de datos cuenta con 20 observaciones correspondiente a los 20 distritos de la ciudad de París; conteniendo los datos geográficos, la superficie, el perímetro y los códigos de los distritos.

Exploramos la relación entre ambas bases de datos:

ggplot()+
  geom_sf(data=distritos_Paris, color="blue", alpha=0.6)+
  geom_point(data=accidentes_Paris2, aes(x=Longitude, y=Latitude, colour= Name_district), size=0.5, alpha=0.4, show.legend = FALSE )

Podemos observar que algunas observaciones quedan fuera del mapa de distritos, por lo que convertimos la base de datos de accidentes en una base de datos geográficas y esta última, intersectamos con la capa de distritos.

accidentes_Paris2_geo<- accidentes_Paris2 %>% 
    st_as_sf(coords = c("Longitude", "Latitude"), crs = 4326)
accidentes_Paris2_geo2 <- accidentes_Paris2_geo %>% 
  st_filter(distritos_Paris) %>% 
  st_join(distritos_Paris) %>% 
  st_drop_geometry() %>% 
  mutate(GeoCoordinates = strsplit(GeoCoordinates, ", ")) %>%   # Split the coordinates
  mutate(longitude = as.numeric(sapply(GeoCoordinates, `[`, 2)), # Extract longitud
         latitude = as.numeric(sapply(GeoCoordinates, `[`, 1)))  # Extract latitude

Analizamos la distribución espacial de los accidentes de tránsito:

ggplot()+
  geom_sf(data=distritos_Paris, color="blue", alpha=0.6)+
    geom_bin2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude), bins=50)+
  scale_fill_distiller(palette ="PuOr" )+
  labs(title="Distribución espacial de accidentes en Paris",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="Longitud",
       y="Latitud",
       fill="Cantidad",
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")

ggplot()+
  geom_sf(data=distritos_Paris, color="red", alpha=0.6 )+
    stat_density2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude, fill = after_stat(level)), geom = "polygon", alpha=0.75)+
  scale_fill_distiller(palette = "PuBu")+
  labs(title="Distribución espacial de accidentes por año",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="",
       y="",
       fill="Cantidad",
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")

Los mapas anteriores muestran una clara concentración de los accidentes, acumulados en los diferentes años, en aquellos distritos proximos al centro de la ciudad.

ggplot()+
  geom_sf(data=distritos_Paris, color="blue", alpha=0.6)+
    geom_bin2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude), )+
  scale_fill_viridis_c(direction=-1)+
  labs(title="Distribución espacial de accidentes por año",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="",
       y="",
       fill="Cantidad",
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")+
  facet_wrap(~year, ncol=2)

ggplot()+
  geom_sf(data=distritos_Paris, color="blue", alpha=0.6)+
    stat_density2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude, fill = after_stat(level)), geom = "polygon", alpha=0.75)+
  scale_fill_distiller(palette = "GnBu")+
  labs(title="Distribución espacial de accidentes por año",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="",
       y="",
       fill="Cantidad",
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")+
  facet_wrap(~year, ncol=2)

Si observamos esta distribución de los accidentes por año, observamos que aunque se mantienen concentrados en las mismas zonas, la acumulación tiene ciertas variaciones. Estas variaciones pueden estar asociadas a las medidas de pacificación del tránsito y eliminación de la circulación de vehículos privados en ciertas zonas de la ciudad.

Para mejore comprensión, podemos observar la distribución espacial por tipo de accidente:

ggplot()+
  geom_sf(data=distritos_Paris, color="blue", alpha=0.6)+
    geom_bin2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude), )+
  scale_fill_distiller(palette = "BuPuGn")+
  labs(title="Distribución espacial de accidentes por año",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="",
       y="",
       fill="Cantidad", 
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")+
  facet_wrap(~Mode)
## Warning in pal_name(palette, type): Unknown palette BuPuGn

ggplot()+
  geom_sf(data=distritos_Paris, color="red", alpha=0.5)+
    stat_density2d(data = accidentes_Paris2_geo2, 
               aes(x = longitude, y = latitude, fill = after_stat(level)), geom = "polygon", alpha=0.8)+
  scale_fill_distiller(palette = "GnBu")+
  labs(title="Distribución espacial de accidentes por modo",
       subtitle="Accidentes viales en Paris, 2017-2022",
       x="",
       y="",
       fill="Cantidad",
       caption="Fuente: Elaboración propia de los datos de Open Data Paris")+
  facet_wrap(~Mode, ncol=3)

Los mapas anteriores demuestran una concentración diferente de acuerdo al tipo de accidente. Se observa una clara concentración de accidentes en Bicicleta (Velo) en el centro de la ciudad, donde las medidas de fomento de la movilidad activa están concentradas. Patron similar se observa en accidentes que involucren peatones (Piéton), sin embargo, en este caso se observan ciertas concentraciones hacia el norte más que el sur, zonas donde se encuentran actracciones como la Iglesia del Sagrado Corazón y el barrio Montmartre, donde existen concentración de zonas peatonales.

De manera similar, los accidentes en vehículos de 4 ruedas (4 Roues) y 2 ruedas motorizadas (2 Roues Motorisées) se concentran en las zonas más alejadas del centro.

Conclusión

Las bases de datos analizadas permitieron explorar la distribución espacial y temporal de los accidentes de tránsito en la ciudad de Paris entre los años 2017 y 2022. Las principales conclusiones que se pueden extraer son:

  1. Se observan menos accidentes de tránsito en la ciudad, en etapa post pandemia. Esta variación podría resultar de la implementación de medidas de pacificación y reducción de tránsito en las zonas más céntricas así como un cambio en los patrones de movilidad asociados a la adopción de modalidades de trabajo híbridas y/o virtuales.

  2. Existe una clara diferencia entre la distribución de los accidentes por género, observandose una gran ocurrencia para el sexo masculino. Sin embargo, los accidentes como peatones en mujeres es superior, evidensiando la vulnerabilidad de este género en la movilidad urbana.

  3. La distribución espacial es coherente con los tipos de viajes y modos más utilizados en zonas más céntricas versus zonas más periféricas.